{
    "swagger": "2.0",
    "info": {
        "title": "ACT 后台",
        "version": "last"
    },
    "basePath": "/",
    "tags": [
        {
            "name": "公共分类",
            "description": "公共分类"
        },
        {
            "name": "数据EDA",
            "description": "DRPC:cls:Eda; "
        },
        {
            "name": "数据标签",
            "description": null
        },
        {
            "name": "数据连接",
            "description": null
        },
        {
            "name": "项目管理",
            "description": null
        },
        {
            "name": "作业",
            "description": null
        }
    ],
    "schemes": [
        "http"
    ],
    "paths": {
        "/v1/websocket/event": {
            "post": {
                "tags": [
                    "公共分类"
                ],
                "summary": "创建 websocket 资源更新事件",
                "description": "",
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "root",
                        "in": "body",
                        "schema": {
                            "$schema": "http://json-schema.org/draft-04/schema#",
                            "type": "object",
                            "properties": {
                                "event": {
                                    "type": "string",
                                    "title": "事件名，资源维护者自定义，示例： create，update,delete"
                                },
                                "resource_type": {
                                    "type": "string",
                                    "title": "资源类型名"
                                },
                                "project_key": {
                                    "type": "string",
                                    "title": "project_key"
                                },
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "resource_status": {
                                            "type": "string",
                                            "title": "资源当前状态"
                                        }
                                    },
                                    "required": [],
                                    "title": "自行约定填充，以下为示例"
                                }
                            },
                            "required": [
                                "resource_type",
                                "project_key",
                                "data"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "type": "object",
                            "title": "title",
                            "properties": {}
                        }
                    }
                }
            }
        },
        "/v1/projects/{project_key}/jobs/{job_id}/models/{model_key}": {
            "get": {
                "tags": [
                    "作业"
                ],
                "summary": "获取 model 详情(job专用-后续开放给sdk)",
                "description": "",
                "parameters": [
                    {
                        "name": "project_key",
                        "in": "path",
                        "description": "",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "job_id",
                        "in": "path",
                        "description": "",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "model_key",
                        "in": "path",
                        "description": "",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$schema": "http://json-schema.org/draft-04/schema#",
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "number",
                                    "description": "0成功，非0失败"
                                },
                                "msg": {
                                    "type": "string",
                                    "description": "如果失败，这里有错误信息"
                                },
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "project_key": {
                                            "type": "string",
                                            "description": "project key"
                                        },
                                        "name": {
                                            "type": "string",
                                            "description": "用户可修改的name"
                                        },
                                        "model": {
                                            "type": "object",
                                            "properties": {
                                                "type": {
                                                    "type": "string",
                                                    "description": "dataset type"
                                                },
                                                "managed": {
                                                    "type": "boolean",
                                                    "description": "为false时是第一类dataset，数据不可删除"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "用户可修改的name"
                                                },
                                                "project_key": {
                                                    "type": "string",
                                                    "description": "project key"
                                                },
                                                "format_type": {
                                                    "type": "string",
                                                    "description": "文件类型的dataset才有这项。“csv”"
                                                },
                                                "flow_options": {
                                                    "type": "object",
                                                    "properties": {
                                                        "virtualizable": {
                                                            "type": "boolean",
                                                            "description": "高级设置里的参数。缺省false"
                                                        },
                                                        "rebuild_behavior": {
                                                            "type": "string",
                                                            "description": "高级设置里的参数。缺省NORMAL"
                                                        },
                                                        "cross_project_build_behavior": {
                                                            "type": "string",
                                                            "description": "高级设置里的参数。缺省DEFAULT"
                                                        }
                                                    },
                                                    "description": "创建dataset时的高级设置",
                                                    "required": [
                                                        "virtualizable",
                                                        "rebuild_behavior",
                                                        "cross_project_build_behavior"
                                                    ]
                                                },
                                                "format_params": {
                                                    "type": "object",
                                                    "properties": {
                                                        "style": {
                                                            "type": "string"
                                                        },
                                                        "charset": {
                                                            "type": "string"
                                                        },
                                                        "separator": {
                                                            "type": "string"
                                                        },
                                                        "quote_char": {
                                                            "type": "string"
                                                        },
                                                        "escape_char": {
                                                            "type": "string"
                                                        },
                                                        "date_serialization_format": {
                                                            "type": "string"
                                                        },
                                                        "array_map_format": {
                                                            "type": "string"
                                                        },
                                                        "hive_separators": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "skip_rows_before_header": {
                                                            "type": "number"
                                                        },
                                                        "parse_header_row": {
                                                            "type": "boolean"
                                                        },
                                                        "skip_rows_after_header": {
                                                            "type": "number"
                                                        },
                                                        "probable_number_of_records": {
                                                            "type": "number"
                                                        },
                                                        "normalize_booleans": {
                                                            "type": "boolean"
                                                        },
                                                        "normalize_doubles": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "description": "文件类型的dataset才有"
                                                },
                                                "tags": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    },
                                                    "description": "标签tags"
                                                },
                                                "params": {
                                                    "type": "object",
                                                    "properties": {
                                                        "connection": {
                                                            "type": "string",
                                                            "description": "connection id,到db查其他参数"
                                                        },
                                                        "path": {
                                                            "type": "string",
                                                            "description": "文件类connection才有这项"
                                                        },
                                                        "table": {
                                                            "type": "string",
                                                            "description": "db表名，DB类connection才有这项"
                                                        },
                                                        "mode": {
                                                            "type": "string",
                                                            "description": "存储类型，比如“table\",DB类connection才有这项"
                                                        },
                                                        "bucket": {
                                                            "type": "string",
                                                            "description": "S3类型的connection才有这项"
                                                        },
                                                        "key_name": {
                                                            "type": "string",
                                                            "description": "redis才有，key name"
                                                        },
                                                        "key_type": {
                                                            "type": "string",
                                                            "description": "redis才有，key type"
                                                        },
                                                        "collection": {
                                                            "type": "string",
                                                            "description": "非关系型数据库才有，collection name"
                                                        },
                                                        "index": {
                                                            "type": "string",
                                                            "description": "索引类型的才有这项"
                                                        },
                                                        "not_ready_if_empty": {
                                                            "type": "boolean",
                                                            "description": "数据非空才认为是data ready"
                                                        },
                                                        "files_selection_rules": {
                                                            "type": "object",
                                                            "properties": {
                                                                "mode": {
                                                                    "type": "string"
                                                                },
                                                                "exclude_rules": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "include_rules": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "explicit_files": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "description": "必有这项，但不同类型的dataset里面的key有差别",
                                                    "required": [
                                                        "connection"
                                                    ]
                                                },
                                                "schema": {
                                                    "type": "object",
                                                    "properties": {
                                                        "columns": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "name": {
                                                                        "type": "string"
                                                                    },
                                                                    "type": {
                                                                        "type": "string"
                                                                    },
                                                                    "origin_type": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "required": [
                                                                    "name",
                                                                    "type",
                                                                    "origin_type"
                                                                ]
                                                            }
                                                        },
                                                        "user_modified": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "required": [
                                                        "columns"
                                                    ],
                                                    "description": "columns信息在这里"
                                                },
                                                "custom_fields": {
                                                    "type": "object",
                                                    "properties": {},
                                                    "description": "自定义fields"
                                                },
                                                "last_build": {
                                                    "type": "object",
                                                    "properties": {
                                                        "project_key": {
                                                            "type": "string",
                                                            "description": "project key"
                                                        },
                                                        "id": {
                                                            "type": "string",
                                                            "description": "activity id"
                                                        },
                                                        "job_id": {
                                                            "type": "string",
                                                            "description": "job id"
                                                        },
                                                        "job_project_key": {
                                                            "type": "string"
                                                        },
                                                        "build_start_time": {
                                                            "type": "number",
                                                            "description": "构建开始时间"
                                                        },
                                                        "build_end_time": {
                                                            "type": "number",
                                                            "description": "构建结束时间"
                                                        },
                                                        "build_success": {
                                                            "type": "string",
                                                            "description": "success或failed"
                                                        }
                                                    },
                                                    "description": "最后一次构建的信息",
                                                    "required": [
                                                        "project_key",
                                                        "job_id",
                                                        "build_start_time",
                                                        "build_end_time",
                                                        "build_success"
                                                    ]
                                                },
                                                "object_key": {
                                                    "type": "string",
                                                    "description": "dataset_key，后台用的id，用户不可见不可改"
                                                },
                                                "cache": {
                                                    "type": "object",
                                                    "properties": {
                                                        "s3_path": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "description": "下载缓存数据链接",
                                                    "required": [
                                                        "s3_path"
                                                    ]
                                                }
                                            },
                                            "description": "model信息",
                                            "required": [
                                                "type",
                                                "managed",
                                                "name",
                                                "project_key",
                                                "tags",
                                                "params",
                                                "schema",
                                                "object_key",
                                                "flow_options"
                                            ]
                                        },
                                        "status": {
                                            "type": "object",
                                            "properties": {
                                                "size": {
                                                    "type": "object",
                                                    "properties": {
                                                        "total_value": {
                                                            "type": "number",
                                                            "description": "占多少字节磁盘"
                                                        },
                                                        "last_computed": {
                                                            "type": "number"
                                                        },
                                                        "first_computed": {
                                                            "type": "number"
                                                        },
                                                        "has_data": {
                                                            "type": "boolean",
                                                            "description": "是否有数据，这个影响前端的图标显示"
                                                        },
                                                        "incomplete": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "description": "数据大小信息",
                                                    "required": [
                                                        "has_data"
                                                    ]
                                                },
                                                "records": {
                                                    "type": "object",
                                                    "properties": {
                                                        "total_value": {
                                                            "type": "number"
                                                        },
                                                        "last_computed": {
                                                            "type": "number"
                                                        },
                                                        "first_computed": {
                                                            "type": "number"
                                                        },
                                                        "has_data": {
                                                            "type": "boolean",
                                                            "description": "是否有数据，这个影响前端的图标显示"
                                                        },
                                                        "incomplete": {
                                                            "type": "boolean"
                                                        }
                                                    },
                                                    "required": [
                                                        "has_data"
                                                    ]
                                                },
                                                "partitions_last_compute": {
                                                    "type": "number"
                                                },
                                                "partitions": {
                                                    "type": "number"
                                                }
                                            },
                                            "description": "数据状态"
                                        },
                                        "buildable": {
                                            "type": "boolean",
                                            "description": "有recipe时为true"
                                        },
                                        "headers": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "dataset_schema": {
                                                        "type": "object",
                                                        "properties": {
                                                            "name": {
                                                                "type": "string",
                                                                "title": "字段名称"
                                                            },
                                                            "type": {
                                                                "type": "string",
                                                                "title": "字段类型"
                                                            }
                                                        },
                                                        "required": [
                                                            "name",
                                                            "type"
                                                        ]
                                                    },
                                                    "normal_rate": {
                                                        "type": "object",
                                                        "properties": {},
                                                        "title": "缺失值统计信息"
                                                    }
                                                },
                                                "required": [
                                                    "dataset_schema",
                                                    "normal_rate"
                                                ]
                                            }
                                        }
                                    },
                                    "description": "data信息",
                                    "required": [
                                        "project_key",
                                        "name",
                                        "model",
                                        "headers"
                                    ]
                                }
                            },
                            "required": [
                                "code",
                                "msg",
                                "data"
                            ]
                        }
                    }
                }
            }
        },
        "/v1/projects/{project_key}/jobs/{job_id}/folders/{folder_key}": {
            "get": {
                "tags": [
                    "作业"
                ],
                "summary": "获取managed folder详情（job专用)",
                "description": "",
                "parameters": [
                    {
                        "name": "project_key",
                        "in": "path",
                        "description": "",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "job_id",
                        "in": "path",
                        "description": "",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "folder_key",
                        "in": "path",
                        "description": "",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$schema": "http://json-schema.org/draft-04/schema#",
                            "type": "object",
                            "properties": {
                                "code": {
                                    "type": "number",
                                    "description": "0成功，非0失败"
                                },
                                "msg": {
                                    "type": "string",
                                    "description": "失败时这里有错误信息"
                                },
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "project_key": {
                                            "type": "string",
                                            "description": "project key"
                                        },
                                        "folder": {
                                            "type": "object",
                                            "properties": {
                                                "project_key": {
                                                    "type": "string",
                                                    "description": "project key"
                                                },
                                                "object_key": {
                                                    "type": "string",
                                                    "description": "object key"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "用户可编辑的那个name"
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "description": "folder类型，与connection有关"
                                                },
                                                "params": {
                                                    "type": "object",
                                                    "properties": {
                                                        "connection": {
                                                            "type": "string",
                                                            "description": "connection id"
                                                        },
                                                        "path": {
                                                            "type": "string",
                                                            "description": "文件夹内容存放的相对路径"
                                                        },
                                                        "not_ready_if_empty": {
                                                            "type": "boolean",
                                                            "description": "reserved"
                                                        },
                                                        "files_selection_rules": {
                                                            "type": "object",
                                                            "properties": {
                                                                "mode": {
                                                                    "type": "string",
                                                                    "description": "ALL"
                                                                },
                                                                "exclude_rules": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    },
                                                                    "description": "排除规则"
                                                                },
                                                                "include_rules": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "explicit_files": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "description": "文件过滤规则"
                                                        }
                                                    },
                                                    "required": [
                                                        "connection",
                                                        "path"
                                                    ],
                                                    "description": "数据读写相关配置在这里"
                                                },
                                                "flow_options": {
                                                    "type": "object",
                                                    "properties": {
                                                        "virtualizable": {
                                                            "type": "boolean"
                                                        },
                                                        "rebuild_behavior": {
                                                            "type": "string",
                                                            "description": "构建方式"
                                                        },
                                                        "cross_project_build_behavior": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "required": [
                                                        "virtualizable",
                                                        "rebuild_behavior"
                                                    ],
                                                    "description": "flow参数"
                                                },
                                                "metrics": {
                                                    "type": "object",
                                                    "properties": {
                                                        "probes": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string"
                                                                    },
                                                                    "enabled": {
                                                                        "type": "boolean"
                                                                    },
                                                                    "compute_on_build_mode": {
                                                                        "type": "string"
                                                                    },
                                                                    "meta": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "name": {
                                                                                "type": "string"
                                                                            },
                                                                            "level": {
                                                                                "type": "number"
                                                                            }
                                                                        }
                                                                    },
                                                                    "configuration": {
                                                                        "type": "object",
                                                                        "properties": {}
                                                                    }
                                                                }
                                                            }
                                                        },
                                                        "engine_config": {
                                                            "type": "object",
                                                            "properties": {
                                                                "pad_runs_with_metrics": {
                                                                    "type": "boolean"
                                                                },
                                                                "hive": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "active": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "extra_conf": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        }
                                                                    }
                                                                },
                                                                "basic": {
                                                                    "type": "object",
                                                                    "properties": {}
                                                                },
                                                                "dss": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "active": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "selection": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "use_mem_table": {
                                                                                    "type": "boolean"
                                                                                },
                                                                                "filter": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "distinct": {
                                                                                            "type": "boolean"
                                                                                        },
                                                                                        "enabled": {
                                                                                            "type": "boolean"
                                                                                        }
                                                                                    }
                                                                                },
                                                                                "partition_selection_method": {
                                                                                    "type": "string"
                                                                                },
                                                                                "latest_partitions_n": {
                                                                                    "type": "number"
                                                                                },
                                                                                "ordering": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "enabled": {
                                                                                            "type": "boolean"
                                                                                        },
                                                                                        "rules": {
                                                                                            "type": "array",
                                                                                            "items": {
                                                                                                "type": "string"
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                },
                                                                                "sampling_method": {
                                                                                    "type": "string"
                                                                                },
                                                                                "max_records": {
                                                                                    "type": "number"
                                                                                },
                                                                                "target_ratio": {
                                                                                    "type": "number"
                                                                                },
                                                                                "within_first_n": {
                                                                                    "type": "number"
                                                                                },
                                                                                "max_read_uncompressed_bytes": {
                                                                                    "type": "number"
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                },
                                                                "sql": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "active": {
                                                                            "type": "boolean"
                                                                        }
                                                                    }
                                                                },
                                                                "impala": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "active": {
                                                                            "type": "boolean"
                                                                        }
                                                                    }
                                                                },
                                                                "spark": {
                                                                    "type": "object",
                                                                    "properties": {
                                                                        "active": {
                                                                            "type": "boolean"
                                                                        },
                                                                        "extra_conf": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        }
                                                                    }
                                                                },
                                                                "python": {
                                                                    "type": "object",
                                                                    "properties": {}
                                                                }
                                                            }
                                                        },
                                                        "displayed_state": {
                                                            "type": "object",
                                                            "properties": {
                                                                "partition": {
                                                                    "type": "string"
                                                                },
                                                                "columns": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "metrics": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                },
                                                "checks": {
                                                    "type": "object",
                                                    "properties": {
                                                        "run_on_build": {
                                                            "type": "boolean"
                                                        },
                                                        "checks": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "displayed_state": {
                                                            "type": "object",
                                                            "properties": {
                                                                "partition": {
                                                                    "type": "string"
                                                                },
                                                                "checks": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                },
                                                "version_tag": {
                                                    "type": "object",
                                                    "properties": {
                                                        "version_number": {
                                                            "type": "number"
                                                        },
                                                        "last_modified_by": {
                                                            "type": "object",
                                                            "properties": {
                                                                "login": {
                                                                    "type": "string"
                                                                }
                                                            },
                                                            "required": [
                                                                "login"
                                                            ]
                                                        },
                                                        "last_modified_on": {
                                                            "type": "number",
                                                            "description": "修改时间unix time ms"
                                                        }
                                                    },
                                                    "required": [
                                                        "version_number",
                                                        "last_modified_on",
                                                        "last_modified_by"
                                                    ],
                                                    "description": "配置版本信息"
                                                },
                                                "creation_tag": {
                                                    "type": "object",
                                                    "properties": {
                                                        "version_number": {
                                                            "type": "number",
                                                            "description": "1"
                                                        },
                                                        "last_modified_by": {
                                                            "type": "object",
                                                            "properties": {
                                                                "login": {
                                                                    "type": "string"
                                                                }
                                                            }
                                                        },
                                                        "last_modified_on": {
                                                            "type": "number",
                                                            "description": "创建时间unix time ms"
                                                        }
                                                    },
                                                    "required": [
                                                        "version_number",
                                                        "last_modified_by",
                                                        "last_modified_on"
                                                    ],
                                                    "description": "配置创建时间"
                                                },
                                                "tags": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    },
                                                    "description": "文件夹标签"
                                                },
                                                "custom_fields": {
                                                    "type": "object",
                                                    "properties": {}
                                                },
                                                "checklists": {
                                                    "type": "object",
                                                    "properties": {
                                                        "checklists": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    }
                                                }
                                            },
                                            "description": "folder配置在这里",
                                            "required": [
                                                "project_key",
                                                "object_key",
                                                "name",
                                                "type",
                                                "params",
                                                "flow_options",
                                                "version_tag",
                                                "creation_tag"
                                            ]
                                        }
                                    },
                                    "required": [
                                        "project_key",
                                        "folder"
                                    ]
                                }
                            },
                            "required": [
                                "code",
                                "msg",
                                "data"
                            ]
                        }
                    }
                }
            }
        }
    }
}